# 1.引题
r1 = 0.5
r2 = 2.5
r3 = 10
print(3.14 * r1 * r1)
print(3.14 * r2 ** 2)
print(3.14 * r3 ** 2)

# 2.函数  把重复的过程抽象出来、封装起来.
# 函数定义 define 函数名（形式参数）
# 形式参数 代表即将要传进来计算的变量
def calculate_area(r):
    print(r**2 * 3.14)
# 函数调用  函数名（实际参数）
calculate_area(0.5)
calculate_area(r2)
calculate_area(r3)

# 3. return返回值
def calculate_area2(r):
    result = r**2 * 3.14
    return result
r1_area = calculate_area2(r1)
r2_area = calculate_area2(r2)
print(r1_area+r2_area)

# 4. 参数
def myday():
    print('起床')
    print('上学')
    print('下学')
    print('睡觉')
myday()

# 5.多个参数  三个数中取最大值
# 位置参数
def get_max_num(a, b, c):
    max_num = a
    if b > max_num:
        max_num = b
    if c > max_num:
        max_num = c
    return max_num
max_num = get_max_num(10, -1, 15)
print(max_num)

# 6.键值对参数，带默认值的参数
def print_stu_info(name, age=13, gender='男'):
    print(f'我叫{name},年龄{age}, 性别{gender}')
print_stu_info( age=14, gender='女',name='小明')

# 7. 作用域
# 全局变量
a = 1
def boo():
    print(a+1)    # 函数内部调用全局变量
boo()

# 局部变量
def coo():
    c = 1       # 方法内声明，作用域方法内
    print(c+1)
def doo():
    d = 2
    print(c+d)
doo()





